Latency enhancements for multicast traffic over spatial reuse protocol (srp)

ABSTRACT

Techniques for routing multicast packets in an SRP topology when there is a ring-wrap condition are provided. By routing multicast packets on both rings simultaneously, multicast packets may reach their destination receiver(s) with a fewer number of hops than if the packets had to traverse portions of both inner and outer ring paths when a ring wrapped condition exists.

BACKGROUND

1. Technical Field

Embodiments of the present disclosure generally relate to networkcommunications and, more particularly, to techniques that may helpreduce latency in redundant network architectures.

Service providers often utilize some form of network redundancy in orderto provide more reliable service. In the event of a failure in a primarypath, network traffic may still be routed using a redundant path. Onetechnique to provide redundancy is to utilize a dual ring topologyaccording to a spatial reuse protocol (SRP). SRP utilizes abidirectional ring topology that may be viewed as two symmetric ringswith traffic routed in opposite (“counter-rotating”) paths. Both ringsmay be used concurrently to transport data and control packets.

Due a potential increase in aggregate bandwidth of the ring topologyprovided, service providers may utilize SRP for a variety ofapplications, such as delivery of broadcast video over using internetprotocol (IP) over SRP. Current implementation so sending multicast IPpackets using SRP relies on a technique called source stripping, inwhich the multicast packets are terminated at a source node aftertraversing the ring. The source node (a node with a multicast source)sends a multicast packet on a selected ring (e.g., selected based on ahash algorithm). The multicast packet will rotate around the entirering. Nodes having matching destination addresses accepting the packet,while the packet will finally be stripped (its transmission terminated)by the source node.

In the event of a failure on one of the rings, SRP will establish a“ring wrap” to provide an alternate route using the other ring. Thus, ina ring wrap, both inner and outer rings will see the multicast packet.To ensure a receive node does not accept the packet twice, the receivenode will accept the packet only if the ring_id matches the physicalring. Unfortunately, this can lead to increased latency from themulticast source to destination, as the multicast packet will take morenumber of hops passing through both the inner and outer ring until themulticast packet reaches the receive node with a matching ring_id.

Accordingly, what is needed is a technique for reducing multicastlatency in a ring wrap condition.

BRIEF DESCRIPTION OF THE DRAWINGS

So that the manner in which the above-recited features of the presentdisclosure can be understood in detail, a more particular description ofthe disclosure, briefly summarized above, may be had by reference toembodiments, some of which are illustrated in the appended drawings. Itis to be noted, however, that the appended drawings illustrate onlytypical embodiments of this disclosure and are therefore not to beconsidered limiting of its scope, for the disclosure may admit to otherequally effective embodiments.

FIG. 1 illustrates an example spatial reuse protocol (SRP) topology.

FIG. 2 illustrates a logic diagram of example components of a nodecapable of implementing SRP.

FIG. 3 illustrates example packet routing according to SRP assuming noring wrap condition in the SRP topology of FIG. 1.

FIG. 4 illustrates example packet routing according to SRP assuming aring wrap condition in the SRP topology of FIG. 1.

FIG. 5 illustrates example operations for reduced latency packet routingusing SRP in accordance with certain embodiments of the presentdisclosure.

FIG. 6 illustrates example reduced latency packet routing using SRP inaccordance with certain embodiments of the present disclosure.

FIG. 7 illustrates an example tree structure in which an SRP topology iseffectively transformed in accordance with certain embodiments of thepresent disclosure.

FIG. 8 illustrates example operations for reduced latency routing of areceived packet using SRP in accordance with certain embodiments of thepresent disclosure.

DESCRIPTION OF EXAMPLE EMBODIMENTS Overview

Embodiments of the present disclosure generally provide techniques thatmay reduce latency in routing multicast packets in an SRP topology whenthere is a ring-wrap condition. By routing multicast packets on bothrings simultaneously, multicast packets may reach their destinationreceiver(s) with a fewer number of hops than if the packets had totraverse portions of both inner and outer ring paths when a wrapcondition exists.

An Example SRP Topology

FIG. 1 illustrates an example spatial reuse protocol (SRP) topology 100,including a plurality of nodes 110 (illustratively nodes 1-6). The nodesare interconnected via counter-rotating inner and outer rings 102 and104 that may be used to route packets between source devices (e.g.,multicast source 120 coupled with node 1) and receiver devices (e.g.,multicast receiver 130 coupled with node 2).

The inner and outer rings may utilize any suitable transmission media(e.g., cable wire or optical fiber) providing a path for thetransmission of data (e.g., E-mail, video, multimedia, or voice) betweentwo or more nodes. The data can be transferred in accordance with anysuitable network protocol, such as Internet Protocol (IP), asynchronoustransfer mode (ATM), or synchronous optical network/synchronous digitalhierarchy (SONET/SDH) over optical transmission media.

In this type of network configuration (a dual-ring topology), data canbe transmitted from a source node to a destination node (often throughintermediary nodes) by transmitting data along one of the two rings. Therings may have traffic flowing simultaneously in opposing directions.For example, control information may be routed in a direction oppositethe control information's respective data. The ring used fortransmission may be selected, for example, using a hash algorithm on adestination address field of a packet being routed.

FIG. 1 illustrates an example multicast packet 112 traversing the innerring 102 (with Ring_lD 1). As the multicast packet 112 reaches eachsuccessive node, it may be routed to a receiver device if the node ispart of a multicast group targeted by the packet and forwarded on to thenext node. If the node is not part of the multicast group, the packet issimply forwarded on until it reaches the node that originated the packet(the source node). At the source node, the packet is terminated based ona match with the source address of the packet and the node, generallyreferred to as source stripping.

FIG. 2 illustrates a logic diagram of example components of oneembodiment of a node 110 capable of implementing SRP. In coming packetson the inner ring and outer ring are routed through receive (Rx)interfaces 202 and 212, respectively. The Rx interfaces may includephysical layer components which provide an electrical, mechanical andprocedural interface to receive and decode the raw bit stream of thepackets transmitted over the physical medium linking the nodes.

The Rx interfaces provide decoded packets to a controller 206, which mayinclude SRP logic 208. The SRP logic 208 may be configured to decidewhether to route packets on to a host interface 210, for example, basedon a destination address of the incoming packets, whether to forward thepackets on, or to terminate the packets at the node 110 (e.g., based onsource stripping if the node address matches the source address of thepacket or some other stripping criteria). Packets routed to the hostinterface 210 may be forwarded on to a receiver device, such as atelevision in the case of multicast video.

The SRP logic 208 may also send outbound packets on the inner ring andouter ring through transmit (Tx) interfaces 204 and 214, respectively.The Tx interfaces may include physical layer components which providesan electrical, mechanical, and procedural interface to transmit thepackets as a raw bit stream over the physical medium linking the nodes.The outbound packets may include packets originating at node 110, forexample, received from a host device via host interface 210, or packetsreceived from a previous node to be forwarded on.

SRP logic 208 may also be configured to perform “ring wrapping”operations, receiving a packet on one ring and outputting the packet onthe other ring. For example, in the event a failure detected on theoutbound side of the outer ring, SRP logic 208 may implement a “ringwrap” forwarding packets received on the inner ring via Rx interface 212on the outer ring via Tx interface 214.

As will be described in greater detail below, when a ring wrap conditionis detected, SRP logic 208 of a source node originating a multicastpacket transmission (assuming the source node is not implementing a wrapitself) may be configured to simultaneously route the multicast packeton both the inner and outer rings in an effort to reduce latency.Further, SRP logic 208 of a node implementing a ring wrap (referred toherein as a “wrapped node”) may be configured to strip packets itreceives in an effort to conserve bandwidth resources.

FIGS. 3 and 4 illustrate SRP routing of a multicast packet during anormal operating state (no ring wraps) and during a ring wrap state,respectively. The illustrated examples assume a multicast packet 112transmitted from multicast source 120 at node 1 (N1) to multicastreceiver 130 at node 2 (N2), with the packet routed on the inner ring(Ring_lD 1).

As illustrated in FIG. 3, the multicast packet 112 will traverse theentire inner ring 102 following the path N1→N6→N5→N4→N3→N2→N1. Node 2will receive the packet (e.g., based on the multicast address andbecause the Ring_lD in the packet and the physical ring on which it isreceived) and node N1 will source strip the packet (based on the sourceaddress). Table 1 below summarizes SRP routing of the packet in thisstate with no ring wraps:

TABLE 1 HOP COUNT (Source to PATH LATENCY SOURCE DESTINATIONDestination) (Source to Destination) (ms) N1 N2 5 N1→N6→N5→N4→N3→N2 50Table 1 assumes 10 ms latency per hop, resulting in a total latency of50 ms.

As illustrated in FIG. 4, a failure 410 between nodes 4 and 5 willresult in ring wraps 412 at these nodes. As illustrated, the ring wraps412 will result in the multicast packet 112 being seen on both the innerring 102 and the outer ring 104. Thus, in this ring wrap state,multicast packet 112 follows the path N1→N6→N5→N6→N1→N2→N3→N4→N3→N2→N1,before being source stripped at node 1.

To ensure a receive node does not receive the same packet twice, thereceive node will typically only accept a packet if the ring ID in thepacket matches the physical ring ID it is received on. Thus, in thisexample, node 2 will only receive the packet after it traverses throughnode 4 and returns to node 2 on the inner ring 102. Table 2 belowsummarizes SRP routing of the packet in this ring wrap state:

TABLE 2 HOP COUNT (Source to PATH LATENCY SOURCE DESTINATIONDestination) (Source to Destination) (ms) N1 N2 9N1→N6→N5→N6→N1→N2→N3→N4→N3→N2 90Again assuming a latency of 10 ms latency per hop, in this ring wrapstate, multicast packet 112 reaches node N2 with a total latency of 90ms compared with 50 ms when the inner ring 102 is chosen in the non-wrapstate.

Reduced Latency SRP Routing in a Ring Wrap State

Certain embodiments of the present disclosure, however, may be utilizedto reduce the latency in routing a multicast packet in a ring-wrapstate. To reduce latency, when a ring-wrap state is detected, a sourcenode may a send multicast packet on both inner and outer rings. As willbe described in greater detail below, this may result in a multicastpacket reaching the receive node on a physical ring that matches thering ID of the packet, thus resulting in the packet being accepted bythe receive node with less latency than with conventional routing usinga single ring to route the packet. For certain embodiments, because thepacket routed on both loops will reach each node on its path to thenodes where the ring is wrapped, rather than utilize conventional sourcestripping, these “wrapped” nodes may be configured to strip the packetto avoid needlessly routing the packet back to the source node.

FIG. 5 illustrates example operations for routing a multicast packet inaccordance with certain embodiments of the present disclosure. Theoperations may be performed, for example, by a node 110 to route amulticast packet received from a multicast source 120.

The operations begin, at 502, by obtaining a multicast packet from amulticast source. If there are no nodes in the wrapped state (e.g., nodevice or transmission medium failures between nodes resulting in a linkfailure), as determined at 504, the packet may be routed in aconventional manner, as illustrated in FIG. 3. A ring is selected, at506, the packet is sent on the selected ring, at 508, and the packet issource stripped (after traversing the entire selected ring), at 510.

On the other hand, if there are nodes in a wrapped state, assuming thering is not wrapped at the source node (as determined at 512), thepacket may be sent on both rings, at 514. This scenario is illustratedin FIG. 6, again assuming nodes 4 and 5 are wrapped. In this case node 1sends a multicast packet 112 on both the inner ring 102 (shown asmulticast packet 112, with Ring ID 1) and on the outer ring 104 (shownas multicast packet 112 ₀ with Ring ID 0).

As illustrated, the multicast packet 112 ₀ will traverse the inner ring102 until it is stripped at wrapped node 5, following the path N1→N6→N5.Multicast packet 112 ₀ will traverse the outer ring 104 until it isstripped at wrapped node 4, following the path N1→N2→N3→N4. In thiscase, however, because the Ring ID of multicast packet 112 ₀ matches thephysical ring on which it is received, node 2 will accept multicastpacket 112 ₀ with reduced latency relative to conventional SRP routing.Table 3 below summarizes reduced latency SRP routing of the multicastpacket 112 ₀ in this wrap state:

TABLE 3 HOP COUNT PATH (Source to (Source to LATENCY SOURCE DESTINATIONDestination) Destination) (ms) N1 N2 1 N1→N2 10As illustrated, in this example, latency may be reduced from 90 to 10when the multicast packet is routed on both the inner and outer rings.

It should be noted that, in the case that a source node is a wrappednode, as determined at 512, there will only be one ring available forsending a packet. In this case, the packet may simply be sent on theoutgoing ring, at 516, and will traverse that ring until it reaches theother wrapped node.

As illustrated in FIG. 7, SRP routing as proposed herein effectivelytransforms a conventional dual-ring topology into a tree structure 700.In the tree structure, one branch from node 1 on the outer ring 104includes nodes 2, 3 and 4, while a second branch from node 1 on theinner ring 102 includes nodes 6 and 5. Because the total latency for amulticast packet to reach any receive node on one of the branches isless than if the same packet had to pass through the receive node andback through a wrapped node, the SRP routing proposed herein may offersignificant improvements in performance over conventional routing. Inthe case that a source node is a wrap node, there will only be a singlebranch along the available outgoing ring.

FIG. 8 illustrates example operations that may performed by a nodereceiving a multi-cast packet (including a source node receiving apacket that has traversed an entire (non-wrapped ring). The operationsbegin, at 802, by receiving a multicast packet from another node. Asnoted above, if the node receiving the multicast packet is a wrappednode, as determined at 804, the multicast packet may be stripped, at806. For example, wrapped nodes 4 and 5 in FIG. 6 are shown strippingthe multicast packets in this manner (as indicated by the X). This mayconserve bandwidth resources, as the multicast packet will have alreadytraversed all nodes between the source node and the wrap node on thering.

If the ring is not wrapped, the multicast packet may be handled in aconventional manner. For example, if a source stripping condition is met(e.g., the node receiving the packet is the source node that originatedthe multicast packet), as determined at 808, the packet may be stripped,at 806. For example, node 1 is shown source stripping the multicastpacket 112 in FIG. 3 after it traverses the entire inner ring 102.

If the source stripping condition is not met, and the receiving node isnot in a multicast group targeted by the multicast packet, as determinedat 810, the multicast packet may simply be forwarded on to the nextnode, at 814. For example, nodes 6 and 3 in FIG. 6 are not receive nodesand simply forward the multicast packets to the next nodes 4 and 5,respectively.

If the receiving node is in the multicast group targeted by themulticast packet, the multicast packet may be first forwarded to thereceiver, at 812, before being forwarded on to the next node, at 814.For example, node 2 in FIG. 6 is shown forwarding multicast packet 112 ₀to multicast receiver 130 before forwarding multicast packet 112 ₀ on tonode 3.

If there are no nodes in the wrapped state (e.g., no device ortransmission medium failures between nodes resulting in a link failure),as determined at 504, the packet may be routed in a conventional manner,as illustrated in FIG. 3. A ring is selected, at 506, the packet is senton the selected ring, at 508, and the packet is source stripped (aftertraversing the entire selected ring), at 510.

By utilizing both rings to route multicast packets in a dual-ringtopology when a ring-wrap condition exists, the techniques presentedherein may significantly reduce latency and overall system performance.Further, by stripping multicast packets at nodes where a ring iswrapped, bandwidth resources may be conserved. While the techniquespresented herein have been described with reference to a dual-ring SRPtopology with a limited number of nodes as a particular applicationexample, those skilled in the art will appreciate that the techniquespresented herein may be utilized in a wide variety of redundant systemsutilizing multiple rings with any number of nodes.

While the foregoing is directed to embodiments of the presentdisclosure, other and further embodiments of the disclosure may bedevised without departing from the basic scope thereof, and the scopethereof is determined by the claims that follow.

1. A method, comprising: obtaining, by a source node in a multi-ringtopology, data to be transmitted to one or more other nodes in themulti-ring topology; determining if the multi-ring topology is in awrapped state with one or more wrapped nodes other than the source nodewhere a ring of the multi-ring topology is wrapped; transmitting thedata in a multicast packet on a single ring of the multi-ring topologyif the multi-ring topology is not in a wrapped state; and transmittingthe data in multiple multicast packets on multiple rings of themulti-ring topology if at least one ring of the multi-ring topology isin a wrapped state, wherein each of the multiple multicast packetsinclude a corresponding ring identification of one of the multiple ringsallowing the wrapped nodes to strip the multiple multicast packets. 2.The method of claim 1, further comprising receiving the data from amulticast source.
 3. The method of claim 1, wherein the data comprisesdata for a multicast video transmission.
 4. The method of claim 1,wherein the multi-ring topology comprises a dual-ring spatial reuseprotocol (SRP) topology.
 5. The method of claim 1, wherein transmittingthe data in multiple multicast packets on multiple rings of themulti-ring topology if at least one ring of the multi-ring topology isin a wrapped state comprises: transmitting a first multicast packet on afirst ring of a dual-ring topology, the first multicast packet having aring identification corresponding to the first ring; and transmitting asecond multicast packet on a second ring of the dual-ring topology, thefirst multicast packet having a ring identification corresponding to thesecond ring.
 6. The method of claim 1, further comprising: receiving themulticast packet transmitted on the single ring of the multi-ringtopology, the multicast packet having traversed the entire single ring;and terminating transmission of the multicast packet.
 7. The method ofclaim 1, wherein one or more rings of the multiple rings compriseoptical transmission media.
 8. An apparatus, comprising: transmitinterface logic for transmitting multicast packets to nodes in amulti-ring topology; and routing logic configured to determine if themulti-ring topology is in a wrapped state with one or more wrapped nodesother than the source node where a ring of the multi-ring topology iswrapped, transmit the data in a multicast packet on a single ring of themulti-ring topology if the multi-ring topology is not in a wrappedstate, and transmit the data in multiple multicast packets on multiplerings of the multi-ring topology if at least one ring of the multi-ringtopology is in a wrapped state, wherein each of the multiple multicastpackets include a corresponding ring identification of one of themultiple rings allowing the wrapped nodes to strip the multiplemulticast packets.
 9. The apparatus of claim 8, further comprisinginterface logic for receiving the multicast data from a multicastsource.
 10. The apparatus of claim 8, wherein the data comprises datafor a multicast video transmission.
 11. The apparatus of claim 8,wherein the multi-ring topology comprises a dual-ring spatial reuseprotocol (SRP) topology.
 12. The apparatus of claim 8, wherein therouting logic is configured to transmit the data in multiple multicastpackets on multiple rings of the multi-ring topology if at least onering of the multi-ring topology is in a wrapped state by: transmitting afirst multicast packet on a first ring of a dual-ring topology, thefirst multicast packet having a ring identification corresponding to thefirst ring; and transmitting a second multicast packet on a second ringof the dual-ring topology, the first multicast packet having a ringidentification corresponding to the second ring.
 13. The apparatus ofclaim 8, further comprising: receive interface logic for receiving themulticast packet transmitted on the single ring of the multi-ringtopology, the multicast packet having traversed the entire single ring;and wherein the routing logic is configured to terminate transmission ofthe multicast packet at the apparatus.
 14. The apparatus of claim 8,wherein one or more rings of the multiple rings comprise opticaltransmission media.
 15. An apparatus, comprising: means for transmittingmulticast packets to nodes in a multi-ring topology; and means fordetermining if the multi-ring topology is in a wrapped state with one ormore wrapped nodes other than the source node where a ring of themulti-ring topology is wrapped, transmitting the data in a multicastpacket on a single ring of the multi-ring topology if the multi-ringtopology is not in a wrapped state, and transmitting the data inmultiple multicast packets on multiple rings of the multi-ring topologyif at least one ring of the multi-ring topology is in a wrapped state,wherein each of the multiple multicast packets include a correspondingring identification of one of the multiple rings allowing the wrappednodes to strip the multiple multicast packets.
 16. The apparatus ofclaim 15, means for receiving the multicast data from a multicastsource.
 17. The apparatus of claim 15, wherein the data comprises datafor a multicast video transmission.
 18. The apparatus of claim 15,wherein the multi-ring topology comprises a dual-ring spatial reuseprotocol (SRP) topology.
 19. The apparatus of claim 15, wherein themeans for routing is configured to transmit the data in multiplemulticast packets on multiple rings of the multi-ring topology if atleast one ring of the multi-ring topology is in a wrapped state by:transmitting a first multicast packet on a first ring of a dual-ringtopology, the first multicast packet having a ring identificationcorresponding to the first ring; and transmitting a second multicastpacket on a second ring of the dual-ring topology, the first multicastpacket having a ring identification corresponding to the second ring.20. The apparatus of claim 15, further comprising: means for receivingthe multicast packet transmitted on the single ring of the multi-ringtopology, the multicast packet having traversed the entire single ring;and wherein the means for routing is configured to terminatetransmission of the multicast packet at the apparatus.